Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Multilevel Feedback Queue</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Multilevel_Feedback_Queue"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Multilevel_Feedback_Queue rootpage-Multilevel_Feedback_Queue skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Multilevel Feedback Queue</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p>Der Begriff <b>Multilevel Feedback Queue</b> bezeichnet einen dynamischen <a href="Priorit%C3%A4tsscheduling" title="Prioritätsscheduling">Prioritätsscheduling</a>-Algorithmus. Bei diesem Verfahren gibt es mehrere <a href="Warteschlange_(Datenstruktur)" title="Warteschlange (Datenstruktur)">Warteschlangen</a> (engl. queue) unterschiedlicher Priorität. <a href="Prozess_(Informatik)" title="Prozess (Informatik)">Prozesse</a> werden in Abhängigkeit von ihrem bisherigen Ressourcenverbrauch dynamisch in eine dieser Warteschlangen eingeordnet.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Realisierung">Realisierung</h2></div>
<p>Es werden mehrere <a href="FIFO" class="mw-redirect" title="FIFO">FIFO</a>-Warteschlangen benutzt.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> Die Abarbeitung erfolgt so:
</p>
<ol><li>Ein neuer Prozess wird am Ende der obersten FIFO-Warteschlange eingefügt.</li>
<li>Nach einiger Zeit erreicht der Prozess den Anfang der Warteschlange und wird dem <a href="Prozessor" title="Prozessor">Prozessor</a> zugewiesen.</li>
<li>Ist der Prozess vollständig abgearbeitet, so verlässt er das System.</li>
<li>Wenn der Prozess den Prozessor freiwillig abgibt, so verlässt er die Warteschlange. Sobald der Prozess wieder bereit wird, wird er wieder in dieselbe Warteschlange eingereiht.</li>
<li>Falls der Prozess die gesamte Zeitscheibe in Anspruch nimmt, wird er unterbrochen und an das Ende der nächstniedrigeren Warteschlange gesetzt.</li>
<li>Dieser Ablauf setzt sich fort, bis der Prozess entweder vollständig abgearbeitet ist oder die niedrigste Warteschlange erreicht hat.</li>
<li>In der niedrigsten Warteschlange rotieren die Prozesse im <a href="Round_Robin_(Informatik)" title="Round Robin (Informatik)">Round-Robin</a>-Verfahren, bis sie beendet werden und das System verlassen.</li></ol>
<p>Im Multilevel-Feedback-Queue-Verfahren hat ein Prozess nur einmal die Möglichkeit, in einer bestimmten Warteschlange komplett abgearbeitet zu werden, bevor er in eine niedrigere Warteschlange gedrängt wird.
</p><p>Der <a href="Prozess-Scheduler" title="Prozess-Scheduler">Scheduler</a> teilt den Prozessor dem Prozess am Anfang immer der obersten nicht leeren Warteschlange zu.
</p>
<div class="mw-heading mw-heading2"><h2 id="Vor-_und_Nachteile">Vor- und Nachteile</h2></div>
<p>Kurze <a href="Job_(EDV)" title="Job (EDV)">Jobs</a> werden bevorzugt, da ihnen höhere Prioritäten zugewiesen werden. Jobs mit vielen Ein- und Ausgabeoperationen werden bevorzugt, da sie nach einer freiwilligen Abgabe des Prozessors wieder in die ursprüngliche Warteliste eingeordnet werden, ihre Priorität also beibehalten. Neue Prozesse werden schnell eingestuft und in eine Prioritätsklasse eingeordnet. Es sind keine Heuristiken (z.&nbsp;B. zur Abschätzung der Laufzeit des Prozesses) zur Einstufung notwendig.
</p><p>Wenn immer neue Prozesse nachkommen, können rechenintensive Prozesse in der niedrigsten Prioritätsklasse „verhungern“ (engl. starvation), d. h., sie werden niemals bis zum Ende ausgeführt. Eine <a href="Priorit%C3%A4tsinversion" title="Prioritätsinversion">Prioritätsinversion</a> kann auftreten.
</p>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text">Abraham Silberschatz, Peter B. Galvin, Greg Gagne: <cite class="lang" lang="en" dir="auto" style="font-style:italic">Operating system concepts</cite>. 7. Auflage. John Wiley &amp; Sons, Hoboken 2005, ISBN 0-471-69466-5, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em">&nbsp;</span>168</span> (englisch).<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rfr_id=info:sid/de.wikipedia.org:Multilevel+Feedback+Queue&amp;rft.au=Abraham+Silberschatz%2C+Peter+B.+Galvin%2C+Greg+Gagne&amp;rft.btitle=Operating+system+concepts&amp;rft.date=2005&amp;rft.edition=7&amp;rft.genre=book&amp;rft.isbn=0471694665&amp;rft.pages=168&amp;rft.place=Hoboken&amp;rft.pub=John+Wiley+%26+Sons" style="display:none">&nbsp;</span></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text">Markus Weinländer: <i>Entwicklung Paralleler Betriebssysteme – Design und Implementierung von Multithreading-Konzepten in C++</i>, Vieweg+Teubner 1995, ISBN 3-322-83080-2. ab. S. 106</span>
</li>
</ol></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2022-07-03" href="https://de.wikipedia.org/wiki/?title=Multilevel_Feedback_Queue&amp;oldid=224190946">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>

</body></html>